package com.xnyzc.lhy.mis.service.approval;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.mis.entity.approval.OaApprovalTempPrimary;
import com.xnyzc.lhy.mis.entity.param.approval.ApprovalTempInfoParam;

/**
 * <p>
 * 审批流模板主表 服务类
 * </p>
 *
 * @author huxuekuo
 * @since 2019-08-07
 */
public interface IOaApprovalTempPrimaryService extends IService<OaApprovalTempPrimary> {

    /**
     * 获取审批流模板列表
     * @param companyNameSearch
     * @param approvalNameSearch
     * @param page
     * @param tag
     * @return
     */
    Rv getCmsApprovalTempList(String companyNameSearch, String approvalNameSearch, Integer page, String tag);

    /**
     * 获取公司下的部门
     * @param companyId
     * @return
     */
    Rv getCmsLinkOfficeList(Long companyId);

    /**
     * 保存关联的部门
     * @param companyId
     * @param checkNodes
     * @param approvalId
     * @return
     */
    Rv saveLinkOffice(Long companyId, String checkNodes, Long approvalId);

    /**
     * 获取当前登录人的公司列表
     * @return
     */
    Rv getCmsUserCompanyList();

    /**
     * 获取公司下的成员列表
     * @param companyCode
     * @return
     */
    Rv getSpecialUserList(Long companyCode);

    /**
     * 保存审批节点信息
     * @return
     */
    Rv saveApprovalTempInfo(ApprovalTempInfoParam approvalTempInfoParam);


    /**
     * 获取审批流详情
     * @param approvalId
     * @return
     */
    Rv getOaApprovalPrimaryInfo(Long approvalId);
}
